

import java.rmi.Remote;
import java.rmi.RemoteException;
import java.util.ArrayList;

public interface IServidorPasajero extends Remote{
	/***
	 * El pasajero recibe una solitud por parte de un conductor para unirse al viaje
	 * @param conductor conductor que raliza la solicitud
	 * @return 0 si la solicitud se acepto, -1 si rechazo solicitud, 1 en otro caso(error)
	 * @throws RemoteException
	 */
	public int solicitarPasajero(Usuario conductor) throws RemoteException;
	/**
	 * Notificacion al usuario que el viaje al que se habia unido fue cancelado
	 * @param usuario usuario que le informa que se cancelo el viaje, 
	 * puede ser el conductor u otro pasajero
	 * @throws RemoteException
	 */
	public void cancelarViaje(Usuario usuario) throws RemoteException;
	
	
	
	
	public int aceptarConductor(Usuario conductor) throws RemoteException;
	
	public void coordinarViaje(ArrayList<Usuario> pasajeros)throws RemoteException;
	
}
